% /*******************************************************************************
%  * Main Simulation Routine
%  * *****************************************************************************
%  * @param lower
%  * @param upper
%  * @param m
%  * @param n
%  * @param r
%  * @param k
%  * @param q
%  * @param t
%  * @param z
%  */
function max_abs_err = get_max_err(lower,upper,m,n,r,k,f)

step_a = 2^(-m);
step_b = 2^(-n);

max_abs_err = 0.0;
for a = lower:step_a:upper
    for b = lower:step_b:upper

        ans_true = a * b;
        ans_trunc = trunc_mult(a,b,f,m,n,r,k);              
        err = ans_true - ans_trunc;
        abs_err = abs(err);
           
        if (abs_err > max_abs_err)
            max_abs_err = abs_err;
        end

    end
end
end